/*
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved. 
 */
package com.icinfo.cloud.provider.punish.csource.manage.dto;


import com.icinfo.cloud.common.core.Validator.BaseGroup;
import com.icinfo.cloud.provider.punish.csource.manage.model.CaseSourceOrgInfo;
import com.icinfo.cloud.provider.punish.csource.manage.model.ReportPersonInfo;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import java.util.List;


/**
 * 描述: 案源操作参数类.<br>
 *
 * @author framework generator
 * @date 2022年08月12日
 */
@Data
public class CaseSourceRegisterOfAppSaveDto extends CaseSourceHandleInfoDto {

    /**
     * 数据来源应用id
     */
    @NotEmpty(message = "数据来源应用id不能为空")
    private String caseSourceAppId;

    /**
     * 请求时间戳
     */
    @NotEmpty(message = "请求时间戳不能为空")
    private String requestTime;

    /**
     * 安全码
     */
    @NotEmpty(message = "安全码不能为空")
    private String security;

    /**
     * 案源登记应用业务id(外部系统)
     */
    @NotEmpty(message = "案源登记id不能为空",groups = BaseGroup.Update.class)
    private String caseSourceRegisterId;

    /**
     * 案源登记id(本系统)
     */
    private String caseSourceId;

    /**
     * 操作类型 register:登记/appoint:指派
     */
    @NotEmpty(message = "案源操作类型不能为空")
    private String caseSourceOperateType;

    //当事人信息
    /**
     * 当事人列表信息
     */
    List<CaseSourcePartyInfoSaveDto> caseSourcePartyInfoDtoList;

    /**
     * 案源名称
     */
    @NotEmpty(message = "案源名称不能为空")
    private String caseSourceName;

    /**
     * 案件来源
     */
    @NotEmpty(message = "案件来源不能为空")
    private String caseSource;

    /**
     * 是否匿名；1 是 0否 (案件来源为投诉举报时使用)
     */
    private String isAnonymous;

    /**
     * 案源登记内容
     */
    @NotEmpty(message = "案源登记内容不能为空")
    private String caseSourceRegisterContent;

    /**
     * 社会举报采集信息
     */
    private List<ReportPersonInfo> reportPersonInfos;
    /**
     * 部门移送/上级行政机关交办/下级行政机关报请采集信息
     */
    private CaseSourceOrgInfo caseSourceOrgInfo;

    //创建人信息
    /**
     * 创建人id（浙政钉id）
     */
    //@NotEmpty(message = "创建人id不能为空")
    private String createUserId;

    /**
     * 创建人名称
     */
    @NotEmpty(message = "创建人名称不能为空")
    private String createUserName;

    /**
     * 创建人单位代码
     */
    //@NotEmpty(message = "创建人单位代码不能为空")
    //private String createUserOrgCode;

    /**
     * 创建人单位统一社会信用代码
     */
    @NotEmpty(message = "创建人单位统一社会信用代码不能为空")
    private String createUserOrgUniscid;

    /**
     * 创建人单位名称
     */
    @NotEmpty(message = "创建人名称不能为空")
    private String createUserOrgName;

    /**
     * 创建人部门代码
     */
    private String createUserDeptCode;

    /**
     * 创建人部门名称
     */
    private String createUserDeptName;

    //检查信息
    /**
     * 检查详情 -- 案源为在行政检查中发现时非空
     */
    private CaseSourceRegisterCheckInfoSaveDto checkInfo;

    /**
     * 条线编码 -- 案源操作为指派时非空
     */
    private String lineCode;

    /**
     * 条线名称 -- 案源操作为指派时非空
     */
    private String lineName;

    /**
     * 案源地址(省市区逗号分隔)
     */
    private String caseSourceAddressAreaName;

    /**
     * 案源详细地址
     */
    private String caseSourceAddressDetail;

    /**
     * 备注
     */
    private String remark;

    /**
     * 案由列表信息
     */
    private List<CaseReasonInfoOfAppDto> caseReasonInfoList;

    /**
     * 证据材料
     */
    private List<CaseSourceEvidenceDto> evidenceList;
    /**
     * 外部行政行为码
     */
    private String caseSourceAppActsCode;

}